/*
  Copyright (c), 2001-2024, Shenshu Tech. Co., Ltd.
 */

#ifndef HI_COMMON_ISP_H
#define HI_COMMON_ISP_H

#include "hi_type.h"
#include "hi_errno.h"
#include "hi_common.h"
#include "hi_isp_debug.h"
#include "hi_common_video.h"
#include "hi_isp_define.h"
#include "ot_common_isp.h"

#ifdef __cplusplus
extern "C" {
#endif

#define HI_ISP_WIDTH_MIN OT_ISP_WIDTH_MIN
#define HI_ISP_HEIGHT_MIN OT_ISP_HEIGHT_MIN
#define HI_ISP_ALIGN_WIDTH OT_ISP_ALIGN_WIDTH
#define HI_ISP_ALIGN_HEIGHT OT_ISP_ALIGN_HEIGHT
#define HI_ISP_FRAME_RATE_MAX OT_ISP_FRAME_RATE_MAX
#define HI_ISP_BE_BUF_NUM_MIN OT_ISP_BE_BUF_NUM_MIN
#define HI_ISP_VREG_MAX_NUM OT_ISP_VREG_MAX_NUM
#define HI_ISP_AE_ZONE_ROW OT_ISP_AE_ZONE_ROW
#define HI_ISP_AE_ZONE_COLUMN OT_ISP_AE_ZONE_COLUMN
#define HI_ISP_AE_PLANE_NUM OT_ISP_AE_PLANE_NUM
#define HI_ISP_MG_ZONE_ROW OT_ISP_MG_ZONE_ROW
#define HI_ISP_MG_ZONE_COLUMN OT_ISP_MG_ZONE_COLUMN
#define HI_ISP_AWB_ZONE_NUM OT_ISP_AWB_ZONE_NUM
#define HI_ISP_AWB_ZONE_STITCH_MAX OT_ISP_AWB_ZONE_STITCH_MAX
#define HI_ISP_AF_ZONE_ROW OT_ISP_AF_ZONE_ROW
#define HI_ISP_AF_ZONE_COLUMN OT_ISP_AF_ZONE_COLUMN
#define HI_ISP_MAX_AWB_LIB_NUM OT_ISP_MAX_AWB_LIB_NUM
#define HI_ISP_MAX_AE_LIB_NUM OT_ISP_MAX_AE_LIB_NUM
#define HI_ISP_AWB_MIN_WIDTH OT_ISP_AWB_MIN_WIDTH
#define HI_ISP_AWB_MIN_HEIGHT OT_ISP_AWB_MIN_HEIGHT
#define HI_ISP_AWB_ZONE_MAX_WIDTH OT_ISP_AWB_ZONE_MAX_WIDTH
#define HI_ISP_AWB_ZONE_MAX_HEIGHT OT_ISP_AWB_ZONE_MAX_HEIGHT
#define HI_ISP_AF_MIN_WIDTH OT_ISP_AF_MIN_WIDTH
#define HI_ISP_AF_MIN_HEIGHT OT_ISP_AF_MIN_HEIGHT
#define HI_ISP_AF_ALIGN_WIDTH OT_ISP_AF_ALIGN_WIDTH
#define HI_ISP_AF_ALIGN_HEIGHT OT_ISP_AF_ALIGN_HEIGHT
#define HI_ISP_AF_PLGS_NUM OT_ISP_AF_PLGS_NUM
#define HI_ISP_GAMMA_NODE_NUM OT_ISP_GAMMA_NODE_NUM
#define HI_ISP_PREGAMMA_NODE_NUM OT_ISP_PREGAMMA_NODE_NUM
#define HI_ISP_SCALE_MIN OT_ISP_SCALE_MIN
#define HI_ISP_SCALE_MAX OT_ISP_SCALE_MAX
#define HI_ISP_AUTO_ISO_NUM OT_ISP_AUTO_ISO_NUM
#define HI_ISP_SHARPEN_LUMA_NUM OT_ISP_SHARPEN_LUMA_NUM
#define HI_ISP_SHARPEN_GAIN_NUM OT_ISP_SHARPEN_GAIN_NUM
#define HI_ISP_SHARPEN_MOT_NUM OT_ISP_SHARPEN_MOT_NUM
#define HI_ISP_SHARPEN_RLYWGT_NUM OT_ISP_SHARPEN_RLYWGT_NUM
#define HI_ISP_SHARPEN_STDGAIN_NUM OT_ISP_SHARPEN_STDGAIN_NUM
#define HI_ISP_MAX_SNS_REGS OT_ISP_MAX_SNS_REGS
#define HI_ISP_MLSC_X_HALF_GRID_NUM OT_ISP_MLSC_X_HALF_GRID_NUM
#define HI_ISP_MLSC_Y_HALF_GRID_NUM OT_ISP_MLSC_Y_HALF_GRID_NUM
#define HI_ISP_MLSC_GAIN_LUT_NUM OT_ISP_MLSC_GAIN_LUT_NUM
#define HI_ISP_ACS_LIGHT_NUM OT_ISP_ACS_LIGHT_NUM
#define HI_ISP_ACS_CHN_NUM OT_ISP_ACS_CHN_NUM
#define HI_ISP_WDR_MAX_FRAME_NUM OT_ISP_WDR_MAX_FRAME_NUM
#define HI_ISP_CSC_DC_NUM OT_ISP_CSC_DC_NUM
#define HI_ISP_CSC_COEF_NUM OT_ISP_CSC_COEF_NUM
#define HI_ISP_BAYER_CALIBTAION_MAX_NUM OT_ISP_BAYER_CALIBTAION_MAX_NUM
#define HI_ISP_AI_MAX_STEP_FNO_NUM OT_ISP_AI_MAX_STEP_FNO_NUM
#define HI_ISP_BAYER_GE_LUT_NUM OT_ISP_BAYER_GE_LUT_NUM
#define HI_ISP_BAYERNR_LUT_LENGTH OT_ISP_BAYERNR_LUT_LENGTH
#define HI_ISP_BAYERNR_LUT_LENGTH1 OT_ISP_BAYERNR_LUT_LENGTH1
#define HI_ISP_BAYERNR_DENOISE_Y_LUT_NUM OT_ISP_BAYERNR_DENOISE_Y_LUT_NUM
#define HI_ISP_PRO_MAX_FRAME_NUM OT_ISP_PRO_MAX_FRAME_NUM
#define HI_ISP_RGB_CHN_NUM OT_ISP_RGB_CHN_NUM
#define HI_ISP_DEMOSAIC_LUT_LENGTH OT_ISP_DEMOSAIC_LUT_LENGTH
#define HI_ISP_DEMOSAIC_AIDM_LUT_NUM OT_ISP_DEMOSAIC_AIDM_LUT_NUM
#define HI_ISP_BAYER_CHN_NUM OT_ISP_BAYER_CHN_NUM
#define HI_ISP_CHN_R OT_ISP_CHN_R
#define HI_ISP_CHN_GR OT_ISP_CHN_GR
#define HI_ISP_CHN_GB OT_ISP_CHN_GB
#define HI_ISP_CHN_B OT_ISP_CHN_B
#define HI_ISP_DRC_LMIX_NODE_NUM OT_ISP_DRC_LMIX_NODE_NUM
#define HI_ISP_DRC_EXP_COMP_SAMPLE_NUM OT_ISP_DRC_EXP_COMP_SAMPLE_NUM
#define HI_ISP_DRC_SHP_LOG_CONFIG_NUM OT_ISP_DRC_SHP_LOG_CONFIG_NUM
#define HI_ISP_DRC_RG_BG_CTR_NODE_NUM OT_ISP_DRC_RG_BG_CTR_NODE_NUM
#define HI_ISP_DEHAZE_LUT_SIZE OT_ISP_DEHAZE_LUT_SIZE
#define HI_ISP_WDR_RATIO_NUM OT_ISP_WDR_RATIO_NUM
#define HI_ISP_LCAC_EXP_RATIO_NUM OT_ISP_LCAC_EXP_RATIO_NUM
#define HI_ISP_LCAC_DET_NUM OT_ISP_LCAC_DET_NUM
#define HI_ISP_CAC_EXP_RATIO_NUM OT_ISP_CAC_EXP_RATIO_NUM
#define HI_ISP_CAC_THR_NUM OT_ISP_CAC_THR_NUM
#define HI_ISP_CAC_CURVE_NUM OT_ISP_CAC_CURVE_NUM

#define HI_ISP_BSHP_LUMA_WGT_NUM OT_ISP_BSHP_LUMA_WGT_NUM
#define HI_ISP_BSHP_HALF_CURVE_NUM OT_ISP_BSHP_HALF_CURVE_NUM

#define HI_ISP_BSHP_CURVE_NUM OT_ISP_BSHP_CURVE_NUM
#define HI_ISP_BSHP_THD_NUM OT_ISP_BSHP_THD_NUM

#define HI_ISP_DO_NOT_NEED_SWITCH_IMAGEMODE OT_ISP_DO_NOT_NEED_SWITCH_IMAGEMODE
#define HI_ISP_TOP_RGGB_START_R_GR_GB_B OT_ISP_TOP_RGGB_START_R_GR_GB_B
#define HI_ISP_TOP_RGGB_START_GR_R_B_GB OT_ISP_TOP_RGGB_START_GR_R_B_GB
#define HI_ISP_TOP_RGGB_START_GB_B_R_GR OT_ISP_TOP_RGGB_START_GB_B_R_GR
#define HI_ISP_TOP_RGGB_START_B_GB_GR_R OT_ISP_TOP_RGGB_START_B_GB_GR_R
#define HI_ISP_AWB_OFFSET_COMP_DEF OT_ISP_AWB_OFFSET_COMP_DEF
#define HI_ISP_CCM_COLORTONE_EN_DEFAULT OT_ISP_CCM_COLORTONE_EN_DEFAULT
#define HI_ISP_CCM_COLORTONE_RGAIN_DEFAULT OT_ISP_CCM_COLORTONE_RGAIN_DEFAULT
#define HI_ISP_CCM_COLORTONE_BGAIN_DEFAULT OT_ISP_CCM_COLORTONE_BGAIN_DEFAULT
#define HI_ISP_CCM_COLORTONE_GGAIN_DEFAULT OT_ISP_CCM_COLORTONE_GGAIN_DEFAULT
#define HI_ISP_CCM_PROT_EN_DEFAULT OT_ISP_CCM_PROT_EN_DEFAULT
#define HI_ISP_CCM_RECOVER_EN_DEFAULT OT_ISP_CCM_RECOVER_EN_DEFAULT
#define HI_ISP_CCM_MATRIX_SIZE OT_ISP_CCM_MATRIX_SIZE
#define HI_ISP_CCM_MATRIX_NUM OT_ISP_CCM_MATRIX_NUM
#define HI_ISP_COLOR_SECTOR_EN_DEFAULT OT_ISP_COLOR_SECTOR_EN_DEFAULT
#define HI_ISP_COLOR_SECTOR_NUM OT_ISP_COLOR_SECTOR_NUM
#define HI_ISP_CCM_MATRIX_ADV_NUM OT_ISP_CCM_MATRIX_ADV_NUM
#define HI_ISP_CSP_NODE_NUM OT_ISP_CSP_NODE_NUM
#define HI_ERR_ISP_NOT_INIT OT_ERR_ISP_NOT_INIT
#define HI_ERR_ISP_MEM_NOT_INIT OT_ERR_ISP_MEM_NOT_INIT
#define HI_ERR_ISP_ATTR_NOT_CFG OT_ERR_ISP_ATTR_NOT_CFG
#define HI_ERR_ISP_SNS_UNREGISTER OT_ERR_ISP_SNS_UNREGISTER
#define HI_ERR_ISP_INVALID_ADDR OT_ERR_ISP_INVALID_ADDR
#define HI_ERR_ISP_NOMEM OT_ERR_ISP_NOMEM
#define HI_ERR_ISP_NO_INT OT_ERR_ISP_NO_INT
#define HI_ERR_ISP_ALG_NOT_INIT OT_ERR_ISP_ALG_NOT_INIT
typedef ot_isp_err_code hi_isp_err_code;
#define HI_ERR_ISP_NULL_PTR OT_ERR_ISP_NULL_PTR
#define HI_ERR_ISP_ILLEGAL_PARAM OT_ERR_ISP_ILLEGAL_PARAM
#define HI_ERR_ISP_NOT_SUPPORT OT_ERR_ISP_NOT_SUPPORT
#define HI_ERR_ISP_TIMEOUT OT_ERR_ISP_TIMEOUT
#define HI_ERR_ISP_NOT_INIT OT_ERR_ISP_NOT_INIT
#define HI_ERR_ISP_MEM_NOT_INIT OT_ERR_ISP_MEM_NOT_INIT
#define HI_ERR_ISP_ATTR_NOT_CFG OT_ERR_ISP_ATTR_NOT_CFG
#define HI_ERR_ISP_SNS_UNREGISTER OT_ERR_ISP_SNS_UNREGISTER
#define HI_ERR_ISP_INVALID_ADDR OT_ERR_ISP_INVALID_ADDR
#define HI_ERR_ISP_NOMEM OT_ERR_ISP_NOMEM
#define HI_ERR_ISP_NO_INT OT_ERR_ISP_NO_INT
#define HI_ERR_ISP_ALG_NOT_INIT OT_ERR_ISP_ALG_NOT_INIT
typedef ot_isp_mod_param hi_isp_mod_param;
#define HI_ISP_UPDATE_OB_STATS_FE_FRAME_END OT_ISP_UPDATE_OB_STATS_FE_FRAME_END
#define HI_ISP_UPDATE_OB_STATS_FE_FRAME_START OT_ISP_UPDATE_OB_STATS_FE_FRAME_START
#define HI_ISP_UPDATE_OB_STATS_BUTT OT_ISP_UPDATE_OB_STATS_BUTT
typedef ot_isp_ob_stats_update_pos hi_isp_ob_stats_update_pos;
#define HI_ISP_ALG_RUN_NORM    OT_ISP_ALG_RUN_NORM
#define HI_ISP_ALG_RUN_FE_ONLY OT_ISP_ALG_RUN_FE_ONLY
#define HI_ISP_ALG_RUN_BUTT    OT_ISP_ALG_RUN_BUTT
typedef ot_isp_alg_run_select hi_isp_alg_run_select;

#define HI_ISP_RUN_WAKEUP_FE_START OT_ISP_RUN_WAKEUP_FE_START
#define HI_ISP_RUN_WAKEUP_BE_END   OT_ISP_RUN_WAKEUP_BE_END
#define HI_ISP_RUN_WAKEUP_BUTT     OT_ISP_RUN_WAKEUP_BUTT
typedef ot_isp_run_wakeup_select hi_isp_run_wakeup_select;

typedef ot_isp_ctrl_param hi_isp_ctrl_param;
#define HI_ISP_LONG_FRAME OT_ISP_LONG_FRAME
#define HI_ISP_SHORT_FRAME OT_ISP_SHORT_FRAME
#define HI_ISP_PRIOR_FRAME_BUTT OT_ISP_PRIOR_FRAME_BUTT
typedef ot_isp_prior_frame hi_isp_prior_frame;
#define HI_ISP_STATE_INIT OT_ISP_STATE_INIT
#define HI_ISP_STATE_SUCCESS OT_ISP_STATE_SUCCESS
#define HI_ISP_STATE_TIMEOUT OT_ISP_STATE_TIMEOUT
#define HI_ISP_STATE_BUTT OT_ISP_STATE_BUTT
typedef ot_isp_status hi_isp_status;
typedef ot_isp_pipe_diff_attr hi_isp_pipe_diff_attr;
#define HI_ISP_BAYER_RGGB OT_ISP_BAYER_RGGB
#define HI_ISP_BAYER_GRBG OT_ISP_BAYER_GRBG
#define HI_ISP_BAYER_GBRG OT_ISP_BAYER_GBRG
#define HI_ISP_BAYER_BGGR OT_ISP_BAYER_BGGR
#define HI_ISP_BAYER_BUTT OT_ISP_BAYER_BUTT
typedef ot_isp_bayer_format hi_isp_bayer_format;
#define HI_ISP_BAYER_RAW_BIT_8BIT OT_ISP_BAYER_RAW_BIT_8BIT
#define HI_ISP_BAYER_RAW_BIT_10BIT OT_ISP_BAYER_RAW_BIT_10BIT
#define HI_ISP_BAYER_RAW_BIT_12BIT OT_ISP_BAYER_RAW_BIT_12BIT
#define HI_ISP_BAYER_RAW_BIT_14BIT OT_ISP_BAYER_RAW_BIT_14BIT
#define HI_ISP_BAYER_RAW_BIT_16BIT OT_ISP_BAYER_RAW_BIT_16BIT
#define HI_ISP_BAYER_RAW_BIT_BUTT OT_ISP_BAYER_RAW_BIT_BUTT
typedef ot_isp_bayer_raw_bit hi_isp_bayer_raw_bit;
typedef ot_mipi_crop_attr hi_mipi_crop_attr;
typedef ot_isp_pub_attr hi_isp_pub_attr;
typedef ot_isp_slave_sns_sync hi_isp_slave_sns_sync;
#define HI_ISP_FMW_STATE_RUN OT_ISP_FMW_STATE_RUN
#define HI_ISP_FMW_STATE_FREEZE OT_ISP_FMW_STATE_FREEZE
#define HI_ISP_FMW_STATE_BUTT OT_ISP_FMW_STATE_BUTT
typedef ot_isp_fmw_state hi_isp_fmw_state;
typedef ot_isp_wdr_mode hi_isp_wdr_mode;
typedef ot_isp_module_ctrl hi_isp_module_ctrl;
#define HI_ISP_DUMP_FRAME_POS_NORMAL OT_ISP_DUMP_FRAME_POS_NORMAL
#define HI_ISP_DUMP_FRAME_POS_AFTER_WDR OT_ISP_DUMP_FRAME_POS_AFTER_WDR
#define HI_ISP_DUMP_FRAME_POS_BUTT OT_ISP_DUMP_FRAME_POS_BUTT
typedef ot_isp_dump_frame_pos hi_isp_dump_frame_pos;

typedef ot_isp_be_frame_attr hi_isp_be_frame_attr;
#define HI_ISP_MERGE_WDR_MODE OT_ISP_MERGE_WDR_MODE
#define HI_ISP_MERGE_FUSION_MODE OT_ISP_MERGE_FUSION_MODE
#define HI_ISP_MERGE_BUTT OT_ISP_MERGE_BUTT
typedef ot_isp_wdr_merge_mode hi_isp_wdr_merge_mode;
#define HI_ISP_BNR_EX OT_ISP_BNR_EX
#define HI_ISP_BNR_NORM OT_ISP_BNR_NORM
typedef ot_isp_bnr_sfm0_mode hi_isp_bnr_sfm0_mode;
#define HI_ISP_WDR_WBGAIN_IN_DG1 OT_ISP_WDR_WBGAIN_IN_DG1
#define HI_ISP_WDR_WBGAIN_IN_WB OT_ISP_WDR_WBGAIN_IN_WB
#define HI_ISP_WDR_WBGAIN_POS_BUTT OT_ISP_WDR_WBGAIN_POS_BUTT
typedef ot_isp_wdr_wb_gain_pos hi_isp_wdr_wb_gain_pos;
typedef ot_isp_fswdr_manual_attr hi_isp_fswdr_manual_attr;
typedef ot_isp_fswdr_auto_attr hi_isp_fswdr_auto_attr;
typedef ot_isp_fswdr_mdt_attr hi_isp_fswdr_mdt_attr;
typedef ot_isp_wdr_combine_attr hi_isp_wdr_combine_attr;
typedef ot_isp_fusion_attr hi_isp_fusion_attr;
typedef ot_isp_wdr_fs_attr hi_isp_wdr_fs_attr;
typedef ot_isp_drc_asymmetry_curve_attr hi_isp_drc_asymmetry_curve_attr;
typedef ot_isp_drc_auto_curve_attr hi_isp_drc_auto_curve_attr;
typedef ot_isp_drc_manual_attr hi_isp_drc_manual_attr;
typedef ot_isp_drc_auto_attr hi_isp_drc_auto_attr;
#define HI_ISP_DRC_CURVE_ASYMMETRY OT_ISP_DRC_CURVE_ASYMMETRY
#define HI_ISP_DRC_CURVE_USER OT_ISP_DRC_CURVE_USER
#define HI_ISP_DRC_CURVE_AUTO OT_ISP_DRC_CURVE_AUTO
#define HI_ISP_DRC_CURVE_BUTT OT_ISP_DRC_CURVE_BUTT
typedef ot_isp_drc_curve_select hi_isp_drc_curve_select;
typedef ot_isp_drc_bcnr_attr hi_isp_drc_bcnr_attr;
typedef ot_isp_drc_mixing_bright_param hi_isp_drc_mixing_bright_param;
typedef ot_isp_drc_mixing_dark_param hi_isp_drc_mixing_dark_param;
typedef ot_isp_drc_attr hi_isp_drc_attr;
#define HI_ISP_EXPANDER_POINT_NUM_MAX OT_ISP_EXPANDER_POINT_NUM_MAX
typedef ot_isp_expander_attr hi_isp_expander_attr;
typedef ot_isp_ldci_gauss_coef_attr hi_isp_ldci_gauss_coef_attr;
typedef ot_isp_ldci_he_wgt_attr hi_isp_ldci_he_wgt_attr;
typedef ot_isp_ldci_manual_attr hi_isp_ldci_manual_attr;
typedef ot_isp_ldci_auto_attr hi_isp_ldci_auto_attr;
typedef ot_isp_ldci_attr hi_isp_ldci_attr;
#define HI_ISP_CA_ENABLE OT_ISP_CA_ENABLE
#define HI_ISP_CP_ENABLE OT_ISP_CP_ENABLE
#define HI_ISP_CA_BUTT OT_ISP_CA_BUTT
typedef ot_isp_ca_type hi_isp_ca_type;
typedef ot_isp_ca_lut hi_isp_ca_lut;
typedef ot_isp_cp_lut hi_isp_cp_lut;
typedef ot_isp_ca_attr hi_isp_ca_attr;
typedef ot_isp_csc_matrx hi_isp_csc_matrx;
typedef ot_isp_csc_attr hi_isp_csc_attr;
typedef ot_isp_clut_attr hi_isp_clut_attr;
typedef ot_isp_clut_lut hi_isp_clut_lut;
#define HI_ISP_STATIC_DP_BRIGHT OT_ISP_STATIC_DP_BRIGHT
#define HI_ISP_STATIC_DP_DARK OT_ISP_STATIC_DP_DARK
#define HI_ISP_STATIC_DP_BUTT OT_ISP_STATIC_DP_BUTT
typedef ot_isp_static_dp_type hi_isp_static_dp_type;
typedef ot_isp_dp_static_calibrate hi_isp_dp_static_calibrate;
typedef ot_isp_dp_static_attr hi_isp_dp_static_attr;
typedef ot_isp_dp_dynamic_manual_attr hi_isp_dp_dynamic_manual_attr;
typedef ot_isp_dp_dynamic_auto_attr hi_isp_dp_dynamic_auto_attr;
typedef ot_isp_dp_frame_dynamic_attr hi_isp_dp_frame_dynamic_attr;
typedef ot_isp_dp_dynamic_attr hi_isp_dp_dynamic_attr;
typedef ot_isp_lblc_attr hi_isp_lblc_attr;
typedef ot_isp_lblc_lut_attr hi_isp_lblc_lut_attr;
typedef ot_isp_shading_attr hi_isp_shading_attr;
typedef ot_isp_shading_gain_lut hi_isp_shading_gain_lut;
typedef ot_isp_shading_lut_attr hi_isp_shading_lut_attr;
typedef ot_isp_mlsc_calibration_cfg hi_isp_mlsc_calibration_cfg;
typedef ot_isp_mesh_shading_table hi_isp_mesh_shading_table;
typedef ot_isp_acs_attr hi_isp_acs_attr;
typedef ot_isp_nr_dering_auto_attr hi_isp_nr_dering_auto_attr;
typedef ot_isp_nr_dering_manual_attr hi_isp_nr_dering_manual_attr;
typedef ot_isp_nr_dering_attr hi_isp_nr_dering_attr;
typedef ot_isp_nr_snr_auto_attr hi_isp_nr_snr_auto_attr;
typedef ot_isp_nr_snr_manual_attr hi_isp_nr_snr_manual_attr;
typedef ot_isp_nr_snr_attr_v0 hi_isp_nr_snr_attr_v0;
#define HI_NR_SNR_V0 OT_NR_SNR_V0
typedef ot_nr_snr_mode hi_nr_snr_mode;
typedef ot_isp_nr_snr_attr hi_isp_nr_snr_attr;
typedef ot_isp_nr_tnr_auto_attr hi_isp_nr_tnr_auto_attr;
typedef ot_isp_nr_tnr_manual_attr hi_isp_nr_tnr_manual_attr;
typedef ot_isp_nr_tnr_attr hi_isp_nr_tnr_attr;
typedef ot_isp_nr_md_auto_attr hi_isp_nr_md_auto_attr;
typedef ot_isp_nr_md_manual_attr hi_isp_nr_md_manual_attr;
typedef ot_isp_nr_md_attr hi_isp_nr_md_attr;
typedef ot_isp_nr_wdr_attr hi_isp_nr_wdr_attr;
typedef ot_isp_nr_ynet_attr hi_isp_nr_ynet_attr;
typedef ot_isp_nr_attr hi_isp_nr_attr;
#define HI_ISP_IRBAYER_GRGBI OT_ISP_IRBAYER_GRGBI
#define HI_ISP_IRBAYER_RGBGI OT_ISP_IRBAYER_RGBGI
#define HI_ISP_IRBAYER_GBGRI OT_ISP_IRBAYER_GBGRI
#define HI_ISP_IRBAYER_BGRGI OT_ISP_IRBAYER_BGRGI
#define HI_ISP_IRBAYER_IGRGB OT_ISP_IRBAYER_IGRGB
#define HI_ISP_IRBAYER_IRGBG OT_ISP_IRBAYER_IRGBG
#define HI_ISP_IRBAYER_IBGRG OT_ISP_IRBAYER_IBGRG
#define HI_ISP_IRBAYER_IGBGR OT_ISP_IRBAYER_IGBGR
#define HI_ISP_IRBAYER_BUTT OT_ISP_IRBAYER_BUTT
typedef ot_isp_ir_bayer_format hi_isp_ir_bayer_format;
#define HI_ISP_IR_CVTMAT_MODE_NORMAL OT_ISP_IR_CVTMAT_MODE_NORMAL
#define HI_ISP_IR_CVTMAT_MODE_MONO OT_ISP_IR_CVTMAT_MODE_MONO
#define HI_ISP_IR_CVTMAT_MODE_USER OT_ISP_IR_CVTMAT_MODE_USER
#define HI_ISP_IR_CVTMAT_MODE_BUTT OT_ISP_IR_CVTMAT_MODE_BUTT
typedef ot_isp_ir_cvtmat_mode hi_isp_ir_cvtmat_mode;
#define HI_ISP_RGBIR_MODE_RGBIR4X4 OT_ISP_RGBIR_MODE_RGBIR4X4
#define HI_ISP_RGBIR_MODE_NORMAL OT_ISP_RGBIR_MODE_NORMAL
#define HI_ISP_RGBIR_MODE_BUTT OT_ISP_RGBIR_MODE_BUTT
typedef ot_isp_rgbir_mode hi_isp_rgbir_mode;
typedef ot_isp_rgbir_cfg hi_isp_rgbir_cfg;
typedef ot_isp_rgbir_attr hi_isp_rgbir_attr;
#define HI_ISP_GAMMA_CURVE_DEFAULT OT_ISP_GAMMA_CURVE_DEFAULT
#define HI_ISP_GAMMA_CURVE_SRGB OT_ISP_GAMMA_CURVE_SRGB
#define HI_ISP_GAMMA_CURVE_HDR OT_ISP_GAMMA_CURVE_HDR
#define HI_ISP_GAMMA_CURVE_USER_DEFINE OT_ISP_GAMMA_CURVE_USER_DEFINE
#define HI_ISP_GAMMA_CURVE_BUTT OT_ISP_GAMMA_CURVE_BUTT
typedef ot_isp_gamma_curve_type hi_isp_gamma_curve_type;
typedef ot_isp_gamma_attr hi_isp_gamma_attr;

#define HI_ISP_CSP_CURVE_DEFAULT OT_ISP_CSP_CURVE_DEFAULT
#define HI_ISP_CSP_CURVE_SRGB OT_ISP_CSP_CURVE_SRGB
#define HI_ISP_CSP_CURVE_USER_DEFINE OT_ISP_CSP_CURVE_USER_DEFINE
#define HI_ISP_CSP_CURVE_BUTT OT_ISP_CSP_CURVE_BUTT

typedef ot_isp_pregamma_attr hi_isp_pregamma_attr;
typedef ot_isp_sharpen_manual_attr hi_isp_sharpen_manual_attr;
typedef ot_isp_sharpen_auto_attr hi_isp_sharpen_auto_attr;
typedef ot_isp_sharpen_manual_shoot_threshold_attr hi_isp_sharpen_manual_shoot_threshold_attr;
typedef ot_isp_sharpen_manual_edge_rly_attr hi_isp_sharpen_manual_edge_rly_attr;
typedef ot_isp_sharpen_manual_gain_by_mot_attr hi_isp_sharpen_manual_gain_by_mot_attr;
typedef ot_isp_sharpen_auto_shoot_threshold_attr hi_isp_sharpen_auto_shoot_threshold_attr;
typedef ot_isp_sharpen_auto_edge_rly_attr hi_isp_sharpen_auto_edge_rly_attr;
typedef ot_isp_sharpen_auto_gain_by_mot_attr hi_isp_sharpen_auto_gain_by_mot_attr;

#define HI_ISP_SHARPEN_NORMAL OT_ISP_SHARPEN_NORMAL
#define HI_ISP_SHARPEN_OFF OT_ISP_SHARPEN_OFF
#define HI_ISP_SHARPEN_DIFF_NORM OT_ISP_SHARPEN_DIFF_NORM
#define HI_ISP_SHARPEN_DIFF OT_ISP_SHARPEN_DIFF
#define HI_ISP_SHARPEN_TOTAL OT_ISP_SHARPEN_TOTAL
#define HI_ISP_SHARPEN_TEXTURE OT_ISP_SHARPEN_TEXTURE
#define HI_ISP_SHARPEN_EDGE OT_ISP_SHARPEN_EDGE
#define HI_ISP_SHARPEN_TOTAL_FREQ OT_ISP_SHARPEN_TOTAL_FREQ
#define HI_ISP_SHARPEN_TEXTURE_FREQ OT_ISP_SHARPEN_TEXTURE_FREQ
#define HI_ISP_SHARPEN_EDGE_FREQ OT_ISP_SHARPEN_EDGE_FREQ
#define HI_ISP_SHARPEN_BUTT OT_ISP_SHARPEN_BUTT
typedef ot_isp_sharpen_detail_map hi_isp_sharpen_detail_map;
typedef ot_isp_sharpen_attr hi_isp_sharpen_attr;
typedef ot_isp_cr_attr hi_isp_cr_attr;
typedef ot_isp_anti_false_color_manual_attr hi_isp_anti_false_color_manual_attr;
typedef ot_isp_anti_false_color_auto_attr hi_isp_anti_false_color_auto_attr;
typedef ot_isp_anti_false_color_attr hi_isp_anti_false_color_attr;
typedef ot_isp_demosaic_manual_attr hi_isp_demosaic_manual_attr;
typedef ot_isp_demosaic_auto_attr hi_isp_demosaic_auto_attr;
typedef ot_isp_demosaic_attr hi_isp_demosaic_attr;

#define HI_ISP_BLACK_LEVEL_MODE_AUTO OT_ISP_BLACK_LEVEL_MODE_AUTO
#define HI_ISP_BLACK_LEVEL_MODE_MANUAL OT_ISP_BLACK_LEVEL_MODE_MANUAL
#define HI_ISP_BLACK_LEVEL_MODE_DYNAMIC OT_ISP_BLACK_LEVEL_MODE_DYNAMIC
#define HI_ISP_BLACK_LEVEL_MODE_BUTT OT_ISP_BLACK_LEVEL_MODE_BUTT
typedef ot_isp_black_level_mode hi_isp_black_level_mode;
typedef ot_isp_black_level_manual_attr hi_isp_black_level_manual_attr;
#define HI_ISP_DYNAMIC_PATTERN_RGB OT_ISP_DYNAMIC_PATTERN_RGB
#define HI_ISP_DYNAMIC_PATTERN_RGBIR OT_ISP_DYNAMIC_PATTERN_RGBIR
#define HI_ISP_DYNAMIC_PATTERN_BUTT OT_ISP_DYNAMIC_PATTERN_BUTT
typedef ot_isp_black_level_dynamic_pattern hi_isp_black_level_dynamic_pattern;
typedef ot_isp_black_level_dynamic_attr hi_isp_black_level_dynamic_attr;
typedef ot_isp_black_level_attr hi_isp_black_level_attr;
#define HI_ISP_FPN_TYPE_FRAME OT_ISP_FPN_TYPE_FRAME
#define HI_ISP_FPN_TYPE_LINE OT_ISP_FPN_TYPE_LINE
#define HI_ISP_FPN_TYPE_BUTT OT_ISP_FPN_TYPE_BUTT
typedef ot_isp_fpn_type hi_isp_fpn_type;
#define HI_ISP_FPN_OUT_MODE_NORM OT_ISP_FPN_OUT_MODE_NORM
#define HI_ISP_FPN_OUT_MODE_HIGH OT_ISP_FPN_OUT_MODE_HIGH
#define HI_ISP_FPN_OUT_MODE_BUTT OT_ISP_FPN_OUT_MODE_BUTT
typedef ot_isp_fpn_out_mode hi_isp_fpn_out_mode;
typedef ot_isp_fpn_frame_info hi_isp_fpn_frame_info;
typedef ot_isp_fpn_calibrate_attr hi_isp_fpn_calibrate_attr;
typedef ot_isp_fpn_manual_attr hi_isp_fpn_manual_attr;
typedef ot_isp_fpn_auto_attr hi_isp_fpn_auto_attr;
typedef ot_isp_fpn_attr hi_isp_fpn_attr;
typedef ot_isp_dehaze_manual_attr hi_isp_dehaze_manual_attr;
typedef ot_isp_dehaze_auto_attr hi_isp_dehaze_auto_attr;
typedef ot_isp_dehaze_attr hi_isp_dehaze_attr;
typedef ot_isp_cac_acac_auto_attr hi_isp_cac_acac_auto_attr;
typedef ot_isp_cac_acac_manual_attr hi_isp_cac_acac_manual_attr;
typedef ot_isp_cac_acac_attr hi_isp_cac_acac_attr;
typedef ot_isp_cac_lcac_auto_attr hi_isp_cac_lcac_auto_attr;
typedef ot_isp_cac_lcac_manual_attr hi_isp_cac_lcac_manual_attr;
typedef ot_isp_cac_lcac_attr hi_isp_cac_lcac_attr;
typedef ot_isp_cac_attr hi_isp_cac_attr;
typedef ot_isp_bayershp_manual_attr hi_isp_bayershp_manual_attr;
typedef ot_isp_bayershp_auto_attr hi_isp_bayershp_auto_attr;
typedef ot_isp_bayershp_attr hi_isp_bayershp_attr;
typedef ot_isp_rc_attr hi_isp_rc_attr;
typedef ot_isp_inner_state_info hi_isp_inner_state_info;
#define HI_ISP_AI_NONE OT_ISP_AI_NONE
#define HI_ISP_AI_BNR OT_ISP_AI_BNR
#define HI_ISP_AI_DRC OT_ISP_AI_DRC
#define HI_ISP_AI_DEMOSAIC OT_ISP_AI_DEMOSAIC
#define HI_ISP_AI_BUTT OT_ISP_AI_BUTT
typedef ot_isp_ai_mode hi_isp_ai_mode;
#define HI_ISP_AE_AFTER_DG OT_ISP_AE_AFTER_DG
#define HI_ISP_AE_AFTER_WB OT_ISP_AE_AFTER_WB
#define HI_ISP_AE_AFTER_DRC OT_ISP_AE_AFTER_DRC
#define HI_ISP_AE_SWITCH_BUTT OT_ISP_AE_SWITCH_BUTT
typedef ot_isp_ae_switch hi_isp_ae_switch;
#define HI_ISP_AE_FOUR_PLANE_MODE_DISABLE OT_ISP_AE_FOUR_PLANE_MODE_DISABLE
#define HI_ISP_AE_FOUR_PLANE_MODE_ENABLE OT_ISP_AE_FOUR_PLANE_MODE_ENABLE
#define HI_ISP_AE_FOUR_PLANE_MODE_BUTT OT_ISP_AE_FOUR_PLANE_MODE_BUTT
typedef ot_isp_ae_four_plane_mode hi_isp_ae_four_plane_mode;
#define HI_ISP_AE_HIST_SKIP_EVERY_PIXEL OT_ISP_AE_HIST_SKIP_EVERY_PIXEL
#define HI_ISP_AE_HIST_SKIP_EVERY_2ND_PIXEL OT_ISP_AE_HIST_SKIP_EVERY_2ND_PIXEL
#define HI_ISP_AE_HIST_SKIP_EVERY_3RD_PIXEL OT_ISP_AE_HIST_SKIP_EVERY_3RD_PIXEL
#define HI_ISP_AE_HIST_SKIP_EVERY_4TH_PIXEL OT_ISP_AE_HIST_SKIP_EVERY_4TH_PIXEL
#define HI_ISP_AE_HIST_SKIP_EVERY_5TH_PIXEL OT_ISP_AE_HIST_SKIP_EVERY_5TH_PIXEL
#define HI_ISP_AE_HIST_SKIP_EVERY_8TH_PIXEL OT_ISP_AE_HIST_SKIP_EVERY_8TH_PIXEL
#define HI_ISP_AE_HIST_SKIP_EVERY_9TH_PIXEL OT_ISP_AE_HIST_SKIP_EVERY_9TH_PIXEL
#define HI_ISP_AE_HIST_SKIP_BUTT OT_ISP_AE_HIST_SKIP_BUTT
typedef ot_isp_ae_hist_skip hi_isp_ae_hist_skip;
#define HI_ISP_AE_HIST_START_FORM_FIRST_COLUMN OT_ISP_AE_HIST_START_FORM_FIRST_COLUMN
#define HI_ISP_AE_HIST_START_FORM_SECOND_COLUMN OT_ISP_AE_HIST_START_FORM_SECOND_COLUMN
#define HI_ISP_AE_HIST_OFFSET_X_BUTT OT_ISP_AE_HIST_OFFSET_X_BUTT
typedef ot_isp_ae_hist_offset_x hi_isp_ae_hist_offset_x;
#define HI_ISP_AE_HIST_START_FORM_FIRST_ROW OT_ISP_AE_HIST_START_FORM_FIRST_ROW
#define HI_ISP_AE_HIST_START_FORM_SECOND_ROW OT_ISP_AE_HIST_START_FORM_SECOND_ROW
#define HI_ISP_AE_HIST_OFFSET_Y_BUTT OT_ISP_AE_HIST_OFFSET_Y_BUTT
typedef ot_isp_ae_hist_offset_y hi_isp_ae_hist_offset_y;
typedef ot_isp_ae_hist_config hi_isp_ae_hist_config;
#define HI_ISP_AE_NORMAL OT_ISP_AE_NORMAL
#define HI_ISP_AE_ROOT OT_ISP_AE_ROOT
#define HI_ISP_AE_STAT_MODE_BUTT OT_ISP_AE_STAT_MODE_BUTT
typedef ot_isp_ae_stat_mode hi_isp_ae_stat_mode;
typedef ot_isp_ae_crop hi_isp_ae_crop;
#define HI_ISP_HIST_THRESH_NUM OT_ISP_HIST_THRESH_NUM
typedef ot_isp_ae_stats_cfg hi_isp_ae_stats_cfg;
#define HI_ISP_PEOPLE_CLASS_MAX OT_ISP_PEOPLE_CLASS_MAX
typedef ot_isp_people_roi hi_isp_people_roi;
#define HI_ISP_FACE_INDEX OT_ISP_FACE_INDEX
#define HI_ISP_PEOPLE_INDEX OT_ISP_PEOPLE_INDEX
#define HI_ISP_PEOPLE_BUTT OT_ISP_PEOPLE_BUTT
typedef ot_isp_people_type hi_isp_people_type;
#define HI_ISP_TUNNEL_CLASS_MAX OT_ISP_TUNNEL_CLASS_MAX
typedef ot_isp_tunnel_roi hi_isp_tunnel_roi;
#define HI_ISP_TUNNEL_IN_INDEX OT_ISP_TUNNEL_IN_INDEX
#define HI_ISP_TUNNEL_OUT_INDEX OT_ISP_TUNNEL_OUT_INDEX
#define HI_ISP_TUNNEL_BUTT OT_ISP_TUNNEL_BUTT
typedef ot_isp_tunnel_type hi_isp_tunnel_type;
#define HI_ISP_FACE_NUM OT_ISP_FACE_NUM
typedef ot_isp_face_roi hi_isp_face_roi;
typedef ot_isp_smart_info hi_isp_smart_info;
#define HI_ISP_AF_STA_NORM OT_ISP_AF_STA_NORM
#define HI_ISP_AF_STA_PEAK OT_ISP_AF_STA_PEAK
#define HI_ISP_AF_STA_BUTT OT_ISP_AF_STA_BUTT
typedef ot_isp_af_peak_mode hi_isp_af_peak_mode;
#define HI_ISP_AF_STA_SUM_NORM OT_ISP_AF_STA_SUM_NORM
#define HI_ISP_AF_STA_SUM_SQUARE OT_ISP_AF_STA_SUM_SQUARE
#define HI_ISP_AF_STA_SUM_BUTT OT_ISP_AF_STA_SUM_BUTT
typedef ot_isp_af_square_mode hi_isp_af_square_mode;
typedef ot_isp_af_crop hi_isp_af_crop;
#define HI_ISP_AF_STATS_AFTER_DGAIN OT_ISP_AF_STATS_AFTER_DGAIN
#define HI_ISP_AF_STATS_AFTER_DRC OT_ISP_AF_STATS_AFTER_DRC
#define HI_ISP_AF_STATS_AFTER_CSC OT_ISP_AF_STATS_AFTER_CSC
#define HI_ISP_AF_STATS_BUTT OT_ISP_AF_STATS_BUTT
typedef ot_isp_af_stats_pos hi_isp_af_stats_pos;
typedef ot_isp_af_raw_cfg hi_isp_af_raw_cfg;
typedef ot_isp_af_pre_filter_cfg hi_isp_af_pre_filter_cfg;
typedef ot_isp_af_cfg hi_isp_af_cfg;
typedef ot_isp_af_level_depend hi_isp_af_level_depend;
typedef ot_isp_af_coring hi_isp_af_coring;
#define HI_ISP_IIR_EN_NUM OT_ISP_IIR_EN_NUM
#define HI_ISP_IIR_GAIN_NUM OT_ISP_IIR_GAIN_NUM
#define HI_ISP_IIR_SHIFT_NUM OT_ISP_IIR_SHIFT_NUM
typedef ot_isp_af_h_param hi_isp_af_h_param;
#define HI_ISP_FIR_GAIN_NUM OT_ISP_FIR_GAIN_NUM
typedef ot_isp_af_v_param hi_isp_af_v_param;
#define HI_ISP_ACC_SHIFT_H_NUM OT_ISP_ACC_SHIFT_H_NUM
#define HI_ISP_ACC_SHIFT_V_NUM OT_ISP_ACC_SHIFT_V_NUM
typedef ot_isp_af_fv_param hi_isp_af_fv_param;
typedef ot_isp_focus_stats_cfg hi_isp_focus_stats_cfg;
typedef ot_isp_stats_ctrl hi_isp_stats_ctrl;
#define HI_ISP_HIST_NUM OT_ISP_HIST_NUM
typedef ot_isp_ae_grid_info hi_isp_ae_grid_info;
typedef ot_isp_be_ae_grid_info hi_isp_be_ae_grid_info;
typedef ot_isp_mg_grid_info hi_isp_mg_grid_info;
typedef ot_isp_awb_grid_info hi_isp_awb_grid_info;
typedef ot_isp_focus_grid_info hi_isp_focus_grid_info;
typedef ot_isp_ae_stats hi_isp_ae_stats;
typedef ot_isp_ae_stitch_stats hi_isp_ae_stitch_stats;
typedef ot_isp_mg_stats hi_isp_mg_stats;
#define HI_ISP_AWB_AFTER_DG OT_ISP_AWB_AFTER_DG
#define HI_ISP_AWB_AFTER_EXPANDER OT_ISP_AWB_AFTER_EXPANDER
#define HI_ISP_AWB_AFTER_DRC OT_ISP_AWB_AFTER_DRC
#define HI_ISP_AWB_SWITCH_BUTT OT_ISP_AWB_SWITCH_BUTT
typedef ot_isp_awb_switch hi_isp_awb_switch;
#define HI_ISP_AWB_GAIN_IN_ISP OT_ISP_AWB_GAIN_IN_ISP
#define HI_ISP_AWB_GAIN_IN_SENSOR OT_ISP_AWB_GAIN_IN_SENSOR
#define HI_ISP_AWB_GAIN_IN_BUTT OT_ISP_AWB_GAIN_IN_BUTT
typedef ot_isp_awb_crop hi_isp_awb_crop;
typedef ot_isp_wb_stats_cfg hi_isp_wb_stats_cfg;
typedef ot_isp_wb_stitch_stats hi_isp_wb_stitch_stats;
typedef ot_isp_wb_stats hi_isp_wb_stats;
typedef ot_isp_focus_zone hi_isp_focus_zone;
typedef ot_isp_fe_focus_stats hi_isp_fe_focus_stats;
typedef ot_isp_be_focus_stats hi_isp_be_focus_stats;
typedef ot_isp_af_stats hi_isp_af_stats;
typedef ot_isp_fe_roi_cfg hi_isp_fe_roi_cfg;
typedef ot_isp_stats_cfg hi_isp_stats_cfg;
#define HI_ISP_DEBUG_BLC OT_ISP_DEBUG_BLC
#define HI_ISP_DEBUG_AE OT_ISP_DEBUG_AE
#define HI_ISP_DEBUG_AWB OT_ISP_DEBUG_AWB
#define HI_ISP_DEBUG_DEHAZE OT_ISP_DEBUG_DEHAZE
#define HI_ISP_DEBUG_BUTT OT_ISP_DEBUG_BUTT
typedef ot_isp_debug_type hi_isp_debug_type;
typedef ot_isp_debug_info hi_isp_debug_info;
typedef ot_isp_debug_attr hi_isp_debug_attr;
typedef ot_isp_debug_status hi_isp_debug_status;
#define HI_ISP_SNS_TYPE_I2C OT_ISP_SNS_TYPE_I2C
#define HI_ISP_SNS_TYPE_SSP OT_ISP_SNS_TYPE_SSP
#define HI_ISP_SNS_TYPE_BUTT OT_ISP_SNS_TYPE_BUTT
typedef ot_isp_sns_type hi_isp_sns_type;
typedef ot_isp_sns_commbus hi_isp_sns_commbus;
typedef ot_isp_i2c_data hi_isp_i2c_data;
typedef ot_isp_ssp_data hi_isp_ssp_data;
typedef ot_isp_sns_regs_info hi_isp_sns_regs_info;
#define HI_ISP_VD_FE_START OT_ISP_VD_FE_START
#define HI_ISP_VD_FE_END OT_ISP_VD_FE_END
#define HI_ISP_VD_BE_END OT_ISP_VD_BE_END
#define HI_ISP_VD_BUTT OT_ISP_VD_BUTT
typedef ot_isp_vd_type hi_isp_vd_type;
typedef ot_isp_reg_attr hi_isp_reg_attr;
#define HI_ISP_IRIS_TYPE_DC OT_ISP_IRIS_TYPE_DC
#define HI_ISP_IRIS_TYPE_P OT_ISP_IRIS_TYPE_P
#define HI_ISP_IRIS_TYPE_BUTT OT_ISP_IRIS_TYPE_BUTT
typedef ot_isp_iris_type hi_isp_iris_type;
#define HI_ISP_IRIS_F_NO_32_0 OT_ISP_IRIS_F_NO_32_0
#define HI_ISP_IRIS_F_NO_22_0 OT_ISP_IRIS_F_NO_22_0
#define HI_ISP_IRIS_F_NO_16_0 OT_ISP_IRIS_F_NO_16_0
#define HI_ISP_IRIS_F_NO_11_0 OT_ISP_IRIS_F_NO_11_0
#define HI_ISP_IRIS_F_NO_8_0 OT_ISP_IRIS_F_NO_8_0
#define HI_ISP_IRIS_F_NO_5_6 OT_ISP_IRIS_F_NO_5_6
#define HI_ISP_IRIS_F_NO_4_0 OT_ISP_IRIS_F_NO_4_0
#define HI_ISP_IRIS_F_NO_2_8 OT_ISP_IRIS_F_NO_2_8
#define HI_ISP_IRIS_F_NO_2_0 OT_ISP_IRIS_F_NO_2_0
#define HI_ISP_IRIS_F_NO_1_4 OT_ISP_IRIS_F_NO_1_4
#define HI_ISP_IRIS_F_NO_1_0 OT_ISP_IRIS_F_NO_1_0
#define HI_ISP_IRIS_F_NO_BUTT OT_ISP_IRIS_F_NO_BUTT
typedef ot_isp_iris_f_no hi_isp_iris_f_no;
typedef ot_isp_dciris_attr hi_isp_dciris_attr;
typedef ot_isp_piris_attr hi_isp_piris_attr;
typedef ot_isp_mi_attr hi_isp_mi_attr;
#define HI_ISP_IRIS_KEEP OT_ISP_IRIS_KEEP
#define HI_ISP_IRIS_OPEN OT_ISP_IRIS_OPEN
#define HI_ISP_IRIS_CLOSE OT_ISP_IRIS_CLOSE
#define HI_ISP_IRIS_BUTT OT_ISP_IRIS_BUTT
typedef ot_isp_iris_status hi_isp_iris_status;
typedef ot_isp_iris_attr hi_isp_iris_attr;
#define HI_ISP_AE_MODE_SLOW_SHUTTER OT_ISP_AE_MODE_SLOW_SHUTTER
#define HI_ISP_AE_MODE_FIX_FRAME_RATE OT_ISP_AE_MODE_FIX_FRAME_RATE
#define HI_ISP_AE_MODE_BUTT OT_ISP_AE_MODE_BUTT
typedef ot_isp_ae_mode hi_isp_ae_mode;
#define HI_ISP_AE_EXP_HIGHLIGHT_PRIOR OT_ISP_AE_EXP_HIGHLIGHT_PRIOR
#define HI_ISP_AE_EXP_LOWLIGHT_PRIOR OT_ISP_AE_EXP_LOWLIGHT_PRIOR
#define HI_ISP_AE_STRATEGY_MODE_BUTT OT_ISP_AE_STRATEGY_MODE_BUTT
typedef ot_isp_ae_strategy hi_isp_ae_strategy;
typedef ot_isp_ae_range hi_isp_ae_range;
typedef ot_isp_ae_delay hi_isp_ae_delay;
typedef ot_isp_fast_face_ae_attr hi_isp_fast_face_ae_attr;
#define HI_ISP_ANTIFLICKER_NORMAL_MODE OT_ISP_ANTIFLICKER_NORMAL_MODE
#define HI_ISP_ANTIFLICKER_AUTO_MODE OT_ISP_ANTIFLICKER_AUTO_MODE
#define HI_ISP_ANTIFLICKER_MODE_BUTT OT_ISP_ANTIFLICKER_MODE_BUTT
typedef ot_isp_antiflicker_mode hi_isp_antiflicker_mode;
typedef ot_isp_antiflicker hi_isp_antiflicker;
typedef ot_isp_subflicker hi_isp_subflicker;
typedef ot_isp_ae_attr hi_isp_ae_attr;
typedef ot_isp_me_attr hi_isp_me_attr;
typedef ot_isp_exposure_attr hi_isp_exposure_attr;
#define HI_ISP_AE_ROUTE_MAX_NODES OT_ISP_AE_ROUTE_MAX_NODES
typedef ot_isp_ae_route_node hi_isp_ae_route_node;
typedef ot_isp_ae_route hi_isp_ae_route;
#define HI_ISP_AE_ROUTE_EX_MAX_NODES OT_ISP_AE_ROUTE_EX_MAX_NODES
typedef ot_isp_ae_route_ex_node hi_isp_ae_route_ex_node;
typedef ot_isp_ae_route_ex hi_isp_ae_route_ex;
typedef ot_isp_exp_info hi_isp_exp_info;
typedef ot_isp_exp_param_reg hi_isp_exp_param_reg;
typedef ot_isp_exp_conv_param hi_isp_exp_conv_param;
typedef ot_isp_fast_face_ae_attr hi_isp_fast_face_ae_attr;
#define HI_ISP_EXP_RATIO_NUM OT_ISP_EXP_RATIO_NUM
typedef ot_isp_wdr_exposure_attr hi_isp_wdr_exposure_attr;
typedef ot_isp_hdr_exposure_attr hi_isp_hdr_exposure_attr;
typedef ot_isp_smart_exposure_attr hi_isp_smart_exposure_attr;
typedef ot_isp_awb_calibration_gain hi_isp_awb_calibration_gain;
#define HI_ISP_AWB_ALG_LOWCOST OT_ISP_AWB_ALG_LOWCOST
#define HI_ISP_AWB_ALG_ADVANCE OT_ISP_AWB_ALG_ADVANCE
#define HI_ISP_AWB_ALG_NATURA OT_ISP_AWB_ALG_NATURA
#define HI_ISP_AWB_ALG_BUTT OT_ISP_AWB_ALG_BUTT
typedef ot_isp_awb_alg_type hi_isp_awb_alg_type;
#define HI_ISP_AWB_MULTI_LS_SAT OT_ISP_AWB_MULTI_LS_SAT
#define HI_ISP_AWB_MULTI_LS_CCM OT_ISP_AWB_MULTI_LS_CCM
#define HI_ISP_AWB_MULTI_LS_BUTT OT_ISP_AWB_MULTI_LS_BUTT
typedef ot_isp_awb_multi_ls_type hi_isp_awb_multi_ls_type;
#define HI_ISP_AWB_SCENE_MODE_INDOOR OT_ISP_AWB_SCENE_MODE_INDOOR
#define HI_ISP_AWB_SCENE_MODE_OUTDOOR OT_ISP_AWB_SCENE_MODE_OUTDOOR
#define HI_ISP_AWB_SCENE_MODE_BUTT OT_ISP_AWB_SCENE_MODE_BUTT
typedef ot_isp_awb_scene_mode_status hi_isp_awb_scene_mode_status;
typedef ot_isp_awb_ct_limit_attr hi_isp_awb_ct_limit_attr;
typedef ot_isp_awb_in_out_attr hi_isp_awb_in_out_attr;
typedef ot_isp_awb_cbcr_track_attr hi_isp_awb_cbcr_track_attr;
#define HI_ISP_AWB_LUM_HIST_NUM OT_ISP_AWB_LUM_HIST_NUM
typedef ot_isp_awb_lum_histgram_attr hi_isp_awb_lum_histgram_attr;
typedef ot_isp_awb_extra_light_source_info hi_isp_awb_extra_light_source_info;
#define HI_ISP_AWB_LS_NUM OT_ISP_AWB_LS_NUM
#define HI_ISP_AWB_MULTI_CT_NUM OT_ISP_AWB_MULTI_CT_NUM
typedef ot_isp_awb_attr_ex hi_isp_awb_attr_ex;
#define HI_ISP_AWB_CURVE_PARA_NUM OT_ISP_AWB_CURVE_PARA_NUM
typedef ot_isp_awb_attr hi_isp_awb_attr;
typedef ot_isp_mwb_attr hi_isp_mwb_attr;
#define HI_ISP_ALG_AWB_GW OT_ISP_ALG_AWB_GW
#define HI_ISP_ALG_AWB_SPEC OT_ISP_ALG_AWB_SPEC
#define HI_ISP_ALG_BUTT OT_ISP_ALG_BUTT
typedef ot_isp_awb_alg hi_isp_awb_alg;
typedef ot_isp_wb_attr hi_isp_wb_attr;
typedef ot_isp_color_matrix_manual hi_isp_color_matrix_manual;
typedef ot_isp_color_matrix_param hi_isp_color_matrix_param;
typedef ot_isp_color_matrix_auto hi_isp_color_matrix_auto;
typedef ot_isp_color_matrix_attr hi_isp_color_matrix_attr;
typedef ot_isp_saturation_manual hi_isp_saturation_manual;
typedef ot_isp_saturation_auto hi_isp_saturation_auto;
typedef ot_isp_saturation_attr hi_isp_saturation_attr;
typedef ot_isp_color_sector_manual hi_isp_color_sector_manual;
typedef ot_isp_color_sector_param  hi_isp_color_sector_param;
typedef ot_isp_color_sector_auto  hi_isp_color_sector_auto;
typedef ot_isp_color_tone_attr hi_isp_color_tone_attr;
typedef ot_isp_color_sector_attr hi_isp_color_sector_attr;
typedef ot_isp_wb_info hi_isp_wb_info;
typedef ot_isp_init_attr hi_isp_init_attr;
typedef ot_isp_af_attr hi_isp_af_attr;
typedef ot_isp_mf_attr hi_isp_mf_attr;
typedef ot_isp_focus_attr hi_isp_focus_attr;
#define HI_ISP_CFALAYOUT_TYPE_RECTANGULAR OT_ISP_CFALAYOUT_TYPE_RECTANGULAR
#define HI_ISP_CFALAYOUT_TYPE_A OT_ISP_CFALAYOUT_TYPE_A
#define HI_ISP_CFALAYOUT_TYPE_B OT_ISP_CFALAYOUT_TYPE_B
#define HI_ISP_CFALAYOUT_TYPE_C OT_ISP_CFALAYOUT_TYPE_C
#define HI_ISP_CFALAYOUT_TYPE_D OT_ISP_CFALAYOUT_TYPE_D
#define HI_ISP_CFALAYOUT_TYPE_E OT_ISP_CFALAYOUT_TYPE_E
#define HI_ISP_CFALAYOUT_TYPE_F OT_ISP_CFALAYOUT_TYPE_F
#define HI_ISP_CFALAYOUT_TYPE_G OT_ISP_CFALAYOUT_TYPE_G
#define HI_ISP_CFALAYOUT_TYPE_H OT_ISP_CFALAYOUT_TYPE_H
#define HI_ISP_CFALAYOUT_TYPE_BUTT OT_ISP_CFALAYOUT_TYPE_BUTT
typedef ot_isp_dng_cfa_layout_type hi_isp_dng_cfa_layout_type;
typedef ot_isp_dng_srational hi_isp_dng_srational;
typedef ot_isp_dng_black_level_repeat_dim hi_isp_dng_black_level_repeat_dim;
typedef ot_isp_dng_default_scale hi_isp_dng_default_scale;
typedef ot_isp_dng_repeat_pattern_dim hi_isp_dng_repeat_pattern_dim;
typedef ot_isp_dng_raw_format hi_isp_dng_raw_format;
typedef ot_isp_dng_image_static_info hi_isp_dng_image_static_info;
typedef ot_isp_dng_wb_gain hi_isp_dng_wb_gain;
typedef ot_isp_dng_ccm_tab hi_isp_dng_ccm_tab;
typedef ot_isp_dng_color_param hi_isp_dng_color_param;
#define HI_ISP_IR_STATUS_NORMAL OT_ISP_IR_STATUS_NORMAL
#define HI_ISP_IR_STATUS_IR OT_ISP_IR_STATUS_IR
#define HI_ISP_IR_BUTT OT_ISP_IR_BUTT
typedef ot_isp_ir_status hi_isp_ir_status;
#define HI_ISP_IR_SWITCH_NONE OT_ISP_IR_SWITCH_NONE
#define HI_ISP_IR_SWITCH_TO_NORMAL OT_ISP_IR_SWITCH_TO_NORMAL
#define HI_ISP_IR_SWITCH_TO_IR OT_ISP_IR_SWITCH_TO_IR
#define HI_ISP_IR_SWITCH_BUTT OT_ISP_IR_SWITCH_BUTT
typedef ot_isp_ir_switch_status hi_isp_ir_switch_status;
typedef ot_isp_ir_auto_attr hi_isp_ir_auto_attr;
#define HI_ISP_FLICKER_TYPE_NONE OT_ISP_FLICKER_TYPE_NONE
#define HI_ISP_FLICKER_TYPE_UNKNOW OT_ISP_FLICKER_TYPE_UNKNOW
#define HI_ISP_FLICKER_TYPE_50HZ OT_ISP_FLICKER_TYPE_50HZ
#define HI_ISP_FLICKER_TYPE_60HZ OT_ISP_FLICKER_TYPE_60HZ
#define HI_ISP_FLICKER_TYPE_BUTT OT_ISP_FLICKER_TYPE_BUTT
typedef ot_isp_calc_flicker_type hi_isp_calc_flicker_type;
typedef ot_isp_calc_flicker_input hi_isp_calc_flicker_input;
typedef ot_isp_calc_flicker_output hi_isp_calc_flicker_output;
typedef ot_isp_noise_calibration hi_isp_noise_calibration;
#define HI_BAYER_CALIBRATION_PARA_NUM_NEW OT_BAYER_CALIBRATION_PARA_NUM_NEW
typedef ot_isp_detail_stats_cfg hi_isp_detail_stats_cfg;
typedef ot_isp_detail_stats_ctrl hi_isp_detail_stats_ctrl;
typedef ot_isp_detail_stats hi_isp_detail_stats;
typedef ot_isp_detail_ae_stats hi_isp_detail_ae_stats;
typedef ot_isp_detail_awb_stats hi_isp_detail_awb_stats;
typedef ot_isp_detail_ae_grid_info hi_isp_detail_ae_grid_info;
typedef ot_isp_detail_awb_grid_info hi_isp_detail_awb_grid_info;
#define HI_ISP_DETAIL_STATS_MAX_ROW OT_ISP_DETAIL_STATS_MAX_ROW
#define HI_ISP_DETAIL_STATS_MAX_COLUMN OT_ISP_DETAIL_STATS_MAX_COLUMN
#define HI_ISP_DETAIL_AWB_ZONE_NUM OT_ISP_DETAIL_AWB_ZONE_NUM
#define HI_ISP_DETAIL_AE_ZONE_ROW  OT_ISP_DETAIL_AE_ZONE_ROW
#define HI_ISP_DETAIL_AE_ZONE_COLUMN  OT_ISP_DETAIL_AE_ZONE_COLUMN
#define HI_ISP_DETAIL_STATS_BLK_NUM_MAX OT_ISP_DETAIL_STATS_BLK_NUM_MAX
#ifdef __cplusplus
}
#endif
#endif /* HI_COMMON_ISP_H */
